System APIs
Let's explore BigTable APIs.
We'll cover the following
BigTable provides APIs for two types of operations:
- Metadata operations
- Data operations
Metadata operations#
BigTable provides APIs for creating and deleting tables and column families. It also provides functions for changing cluster, table, and column family metadata, such as access control rights.
Data operations#
Clients can insert, modify, or delete values in BigTable. Clients can also lookup values from individual rows or iterate over a subset of the data in a table.
- BigTable supports single-row transactions, which can be used to perform atomic read-modify-write sequences on data stored under a single row key.
- Bigtable does not support transactions across row keys, but provides a client interface for batch writing across row keys.
- BigTable allows cells to be used as integer counters.
- A set of wrappers allow a BigTable to be used both as an input source and as an output target for MapReduce jobs.
- Clients can also write scripts in Sawzall (a language developed at Google) to instruct server-side data processing (transform, filter, aggregate) prior to the network fetch.
Here are APIs for write operations:
Set()
: write cells in a rowDeleteCells()
: delete cells in a rowDeleteRow()
: delete all cells in a row
A read or scan operation can read arbitrary cells in a BigTable:
- Each row read operation is atomic.
- Can ask for data from just one row, all rows, etc.
- Can restrict returned rows to a particular range.
- Can ask for all columns, just certain columns families, or specific columns.
BigTable Data Model
Partitioning and High-level Architecture
Mark as Completed
Report an Issue